class searchTripPosition {
  // 1. 私有静态Map：存储北上广深杭的城市-景点数据（不可外部修改）
  static final Map<String, List<String>> _cityAttractionMap = {
    // 北京景点
    "北京": ["故宫博物院", "八达岭长城", "颐和园", "天坛公园", "奥林匹克公园（鸟巢/水立方）"],
    // 上海景点
    "上海": ["外滩", "上海迪士尼乐园", "东方明珠广播电视塔", "豫园", "上海野生动物园"],
    // 广州景点
    "广州": ["广州塔（小蛮腰）", "长隆野生动物世界", "陈家祠", "白云山风景区", "珠江夜游"],
    // 深圳景点
    "深圳": ["深圳世界之窗", "东部华侨城", "深圳欢乐谷", "小梅沙海滨度假区", "莲花山公园"],
    // 杭州景点
    "杭州": ["西湖风景区（断桥/雷峰塔）", "灵隐寺", "千岛湖风景区", "西溪国家湿地公园", "宋城景区"],
  };

  // 2. 公开静态方法：对外提供搜索能力，返回查询到的景点列表
  /// 根据城市名搜索景点
  /// [cityName]：要查询的城市名（支持大小写模糊匹配，如“shenzhen”“Shenzhen”均匹配“深圳”）
  /// 返回值：景点列表（北上广深杭返回真实景点，其他城市返回["暂时没有景点"]）
  static List<String> searchAttractionsByCity(String cityName) {
    // 处理输入：去除首尾空格 + 转为小写，避免大小写和空格导致的匹配失败
    final String processedCity = cityName.trim().toLowerCase();

    // 遍历Map，匹配城市（忽略大小写）
    for (final MapEntry<String, List<String>> entry
        in _cityAttractionMap.entries) {
      if (entry.key.toLowerCase() == processedCity) {
        // 匹配成功：返回该城市的景点列表（返回新列表，避免外部修改原数据）
        return List.from(entry.value);
      }
    }

    // 匹配失败（非北上广深杭）：返回默认提示
    return ["暂时没有景点"];
  }

  // 3. （可选）辅助方法：获取所有支持的城市列表（用于展示或筛选）
  static List<String> getAllSupportedCities() {
    // 返回所有有真实景点的城市名（按输入顺序排列）
    return _cityAttractionMap.keys.toList();
  }
}
